//导入 craco 别名的插件
const CracoAlias = require("craco-alias");
//导入 less 插件
const CracoLessPlugin = require('craco-less');

//配置
module.exports = {
  //插件
  plugins: [
    /* https://github.com/risenforces/craco-alias */
    {
      plugin: CracoAlias,
      options: {
        //配置的资源为 tsconfig , 通过 ts 的配置文件来实现别名的配置
        source: "tsconfig",
        //ts 配置文件的路径
        tsConfigPath: "./tsconfig.extend.json",
      },
    },
    //配置 less 解析
    {
      plugin: CracoLessPlugin,
      options: {
        lessLoaderOptions: {
          lessOptions: {
            modifyVars: { '@primary-color': '#1DA57A' },
            javascriptEnabled: true,
          },
        },
      },
    }
  ],
  //配置代理
  devServer: {
    proxy: {
      '/api': {
        target: "http://localhost:4056", // 目标服务器地址
				changeOrigin: true, // 为true时代理在转发时, 会将请求头的host改为target的值
				pathRewrite: { // 路径重写, 在转发请求时自动去除路径的/dev-api
					"^/api": "",
				},
      }
    }
  }
};